package com.navi.loaddata.core.oracleEntity;

import com.navi.loaddata.core.oracleEntity.array.EtlArrayPdsGlassSummaryV;
import com.navi.loaddata.core.oracleEntity.array.EtlArrayPdsResultV;
import com.navi.loaddata.core.oracleEntity.cell1.EtlCellPdsComptSummaryV;
import com.navi.loaddata.core.oracleEntity.cell1.EtlCellPdsResultV;
import com.navi.loaddata.core.oracleEntity.cell2.EtlCell2PdsChipSummaryV;
import com.navi.loaddata.core.oracleEntity.cell2.EtlCell2PdsResultV;
import com.navi.loaddata.core.oracleEntity.cf.EtlCfPdsGlassSummaryV;
import com.navi.loaddata.core.oracleEntity.cf.EtlCfPdsResultV;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * Created by Jay on 2018/3/27.
 */

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EtlPdsGlassSummaryVMapper {

    EtlPdsGlassSummaryVMapper INSTANCE = Mappers.getMapper(EtlPdsGlassSummaryVMapper.class);

    EtlArrayPdsGlassSummaryV etlGlassToArray(EtlPdsGlassSummaryV glassVMapper);
    List<EtlArrayPdsGlassSummaryV> etlGlassToArray(List<EtlPdsGlassSummaryV> list);


    EtlCfPdsGlassSummaryV etlGlassToCf(EtlPdsGlassSummaryV glassVMapper);
    List<EtlCfPdsGlassSummaryV> etlGlassToCf(List<EtlPdsGlassSummaryV> list);

    @Mapping(target = "componentId",source = "glassId")//属性名不一致映射
    @Mapping(target = "componentEndTime",source = "glassEndTime")//属性名不一致映射
    EtlCellPdsComptSummaryV etlGlassToCell1(EtlPdsGlassSummaryV glassVMapper);
    List<EtlCellPdsComptSummaryV> etlGlassToCell1(List<EtlPdsGlassSummaryV> list);

    @Mapping(target = "chipId",source = "glassId")//属性名不一致映射
    @Mapping(target = "chipEndTime", source = "glassEndTime")//属性名不一致映射
    EtlCell2PdsChipSummaryV etlGlassToCell2(EtlPdsGlassSummaryV glassVMapper);
    List<EtlCell2PdsChipSummaryV> etlGlassToCell2(List<EtlPdsGlassSummaryV> list);

}
